Data processing apparatus for performing cumulative processing on time series data

ABSTRACT

A vector operation data path (3) in a vector calculator is composed of a cumulative data selection unit (5) and a cumulative calculator (6). The cumulative data selection unit (5) outputs cumulative data Z(1) to Z(n) which are time series data on the basis of operation data A and operation data Y, sequentially to the cumulative calculator (6). A selector (66) in the cumulative calculator (6) outputs selected data S(i) by selecting one of differential data {Z(i)-Z(i+1)}, differential data {Z(i)-Z(i+2)} and cumulative data Z(i). The selected data S(i) is applied to an absolute value circuit (67) and a square circuit (68), and the obtained square data SQ(i) is given to an accumulator (69), and the accumulator (69) determines the cumulative value.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a data processing apparatus, and moreparticularly to an arithmetic circuit structure having a RISC mounted onan LSI for image compression and expansion.

2. Description of the Background Art

In image compression, the picture quality depends greatly on applicationprocessing such as intra/inter judgement and DCT blocking judgement. Inapplication processing, a judging operation is needed, and a method ofprogram controlled processing is suited to the judging operation. Forthe image compressing LSI circuit, a structure allowing applicationprocessing is desired, and a solution using a program controlled systemsuch as a RISC or a DSP is attempted on a semiconductor substrate.Operations required for mounting means of the program controlled systemmay be roughly classified into cumulative operations such as differencesquare cumulative and difference absolute cumulative operations (forexample, square cumulative operations from X(0) to X(255)), and judgingoperations (AND, addition, other single operations) for judging thecumulative result (comparison of magnitude, etc.).

FIG. 7 is a block diagram showing an example of a DSP of a conventionalprogram controlled system. As shown in the diagram, according to aprogram stored in a command memory 12, a program controller 11 outputs acontrol signal SC to selectors 13, 14, and an ALU 15.

The selector 13 receives operation data X obtained sequentially as timeseries data through X-BUS 16, operation data Y obtained sequentially astime series data through Y-BUS 17, and data obtained through a globalbus 21, and outputs one of these sets of data as first selected data tothe ALU 15 on the basis of the control signal SC.

The selector 14 receives operation data X obtained sequentially as timeseries data through X-BUS 16, operation data Y obtained sequentially astime series data through Y-BUS 17, and data obtained through a globalbus 21, and outputs one of these sets of data as second selected data tothe ALU 15 on the basis of the control signal SC.

The ALU 15, receiving the first and second selected data, obtains theoperation result by calculating the difference or the absolute value ofthe difference of this data, and outputs a difference result to amultiplier 18, or compares the magnitude of the first and secondselected data, and outputs the result to a register file 22.

The multiplier 18 multiplies the difference results obtained from theALU 15, and outputs a multiplication result to an accumulator 19. Theaccumulator 19 determines a cumulative result of plural multiplicationresults, and outputs the cumulative result to a shifter 20. The shifter20 shifts the cumulative result, and sends bit data to the global bus21. This bit data is stored in a register file 22 through global bus 21,selector 13 (14), and ALU 15.

In the DSP of this structure, first, the cumulative result on the basisof operation data X and operation data Y according to the control signalSC is determined in the sequence of ALU 15, multiplier 18 andaccumulator 19, and a final cumulative result is output from theaccumulator 19, then the necessary bit data is output from the globalbus 21 by specified bit shifting by the shifter 20. The data is storedin the register file 22 through the selector 13 (14) and ALU 15.

After two or more sets of bit data are stored in the register file 22,the first and second bit data stored in the register file 22 are sentout into the ALU 15 through the global bus 21 and selectors 13 and 14.The ALU 15 judges the magnitude of first bit data and second bit data,and stores the result of judgement in the register file 22.

In the conventional constitution shown in FIG. 7, the ALU 15 isresponsible for both operation processing and judgement processing, andjudgement processing cannot be done during cumulative operation becauseboth processings are performed by the ALU 15.

It was thus impossible to process efficiently in the conventional dataprocessing apparatus which performs both cumulative calculation of timeseries data and judgement processing of a cumulative result.

SUMMARY OF THE INVENTION

A first aspect of the invention provides a data processing apparatuscomprising a cumulative processing section having a cumulativecalculator for sequentially receiving plural cumulative data as timeseries data, and obtaining a cumulative result by operation processingand cumulative processing of the plural cumulative data, and a judgementprocessing section for judging the cumulative result, being providedindependently of the cumulative processing section, wherein thecumulative calculator comprises differential means for outputting pluraldifferential data in each pair composed of differential values betweenat least one pair of cumulative data of three cumulative data continuousin time series in the plural cumulative data, and cumulative resultcalculating means for obtaining the cumulative result by cumulativecalculation on data on the basis of the plural cumulative data or theplural differential data.

In a second aspect of the data processing apparatus of the invention,the plural cumulative data are composed of cumulative data Z(1) to Z(n)continuous from 1 to n (n≧3), where the differential values include afirst differential value {Z(i)-Z(i+1)} of a pair of cumulative dataZ(i)(i=1to (n-2)) and cumulative data Z(i+1), and a second differentialvalue {Z(i)-Z(i+2)} of a pair of cumulative data Z(i) and cumulativedata Z(i+2), wherein the differential means comprises first to thirdregisters connected mutually in series for storing cumulative dataZ(i+2) to Z(i) continuous in time series, a first differential unit forcalculating a first difference of a pair of cumulative data Z(i) andcumulative data Z(i+1) to determine first differential values{Z(i)-Z(i+1)} sequentially, and outputting plural first differentialdata, and a second differential unit for calculating a second differenceof a pair of cumulative data Z(i) and cumulative data Z(i+2) todetermine second differential values {Z(i)-Z(i+2)} sequentially, andoutputting plural second differential data, and the cumulative resultcalculating means comprises a selector for selecting one set of data asplural selected data, out of the plural cumulative data, the pluralfirst differential data, and the plural second differential data, andselected data cumulative means for receiving the plural selected data,calculating a cumulative value of data relating to the plural selecteddata, and outputting the cumulative result on the basis of thecumulative value.

In a third aspect of the data processing apparatus of the invention, thecumulative processing section further comprises a cumulative data outputunit for sequentially receiving plural first operation data and pluralsecond operation data as time series data, and selecting one set ofdata, as the plural cumulative data, out of at least one of the pluralfirst operation data and the plural second operation data, and pluralsets of operation differential data obtained by calculating thedifference of the plural first operation data and the plural secondoperation data, and outputting the plural cumulative data to thecumulative calculation unit.

In a fourth aspect of the data processing apparatus of the invention,the cumulative calculator unit includes plural cumulative calculatorsfor commonly receiving the plural cumulative data.

In a fifth aspect of the data processing apparatus of the invention, thecumulative processing section includes plural cumulative processingsections.

In the first aspect of the data processing apparatus, the cumulativecalculator comprises differential means for outputting pluraldifferential data in each pair composed of differential values betweenat least one pair of cumulative data of three cumulative data continuousin time series in the plural cumulative data, and cumulative resultcalculating means for obtaining the cumulative result by cumulativecalculation on data on the basis of the plural cumulative data or theplural differential data.

Therefore, the cumulative result of plural differential data composed ofdifferential value of at least a pair of cumulative data out of threecumulative data continuous in time series can be automatically obtainedin the cumulative calculator.

As a result, it is efficient to calculate the cumulative result ofplural differential data composed of differential value of at least apair of cumulative data of three cumulative data continuous in timeseries, and judge the cumulative result.

Besides, since the judgement processing section is providedindependently of the cumulative processing section, the cumulativeoperation processing for determining the cumulative result and thejudgement processing on the cumulative result can be done parallel.

In the second aspect of the data processing apparatus, the differentialmeans comprises first to third registers connected mutually in seriesfor storing cumulative data Z(i+2) to Z(i) continuous in time series, afirst differential unit for calculating a first difference of a pair ofcumulative data Z(i) and cumulative data Z(i+1) to determine a firstdifferential value {Z(i)-Z(i+1)} sequentially, and outputting pluralfirst differential data, and a second differential unit for calculatinga second difference of a pair of cumulative data Z(i) and cumulativedata Z(i+2) to determine a second differential value {Z(i)-Z(i+2)}sequentially, and outputting plural second differential data of a secondkind.

Therefore, the cumulative result of the plural first differential datacomposed of differential value {Z(i)-Z(i+1)} or plural seconddifferential data composed of differential value {Z(i)-Z(i+2)} can beautomatically obtained in the cumulative calculator.

In the third aspect of the data processing apparatus, since pluraloperation differential data obtained by calculating the difference ofplural first operation data and plural second operation dataindividually can be output as plural cumulative data, the cumulativevalue of the data on the basis of the differential result of at least apair of operation differential data, out of three operation differentialdata continuous in time series can be automatically obtained in thecumulative calculator.

As a result, it is efficient to calculate the cumulative result ofplural differential data composed of differential values of at least apair of operation differential data of three cumulative data continuousin time series, and to judge the cumulative result.

In the fourth aspect of the data processing apparatus, since thecumulating calculator in the cumulative processing section includesplural cumulative calculating sections for commonly receiving pluralcumulative data, plural cumulative results can be obtained parallel.

As a result, plural cumulative results on the basis of one kind ofcumulative data can be obtained at high speed. Furthermore, since pluralcumulative data output from one cumulative data output unit are sharedby plural cumulative calculators, plural cumulative results can beobtained in a minimum required limit of composition.

In the fifth aspect of the data processing apparatus, since thecumulative processing section includes plural cumulative processingsections, plural cumulative results can be determined in parallel.

As a result, it is possible to calculate at high speed the pluralcumulative results on the basis of plural types of differential datacomposed of a differential value of at least a pair of cumulative dataof three cumulative data continuous in time series.

It is therefore an object of the present invention to solve the problemsof the prior art and to provide a data processing apparatus capable ofefficiently executing the cumulative calculation of time series data andjudging processing of a cumulative result.

These and other objects, features, aspects and advantages of the presentinvention will become more apparent from the following description ofthe present invention when taken in conjunction with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a structure of a data processingapparatus of a first preferred embodiment of the invention.

FIG. 2 is a block diagram showing an internal structure of a vectoroperation data path in FIG. 1.

FIG. 3 is a block diagram showing a structure of a data processingapparatus of a second preferred embodiment of the invention.

FIG. 4 is a block diagram showing a structure of vector operation datapath in a data processing apparatus of a third preferred embodiment ofthe invention.

FIG. 5 is a block diagram showing a structure of vector operation datapath in a data processing apparatus of a fourth preferred embodiment ofthe invention.

FIG. 6 is a block diagram showing a structure of vector operation datapath in a data processing apparatus of a fifth preferred embodiment ofthe invention.

FIG. 7 is a block diagram showing a structure of a conventional dataprocessing apparatus.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

<First Preferred Embodiment>

FIG. 1 is a block diagram showing a structure of a data processingapparatus (RISC) of a first preferred embodiment of the invention. Asshown in the diagram, a program controller 11 outputs a command signalSC to a vector calculator 1 and an ALU 15 on the basis of a programstored in a command memory 12.

The vector calculator 1 comprises a vector operation controller 2 and avector operation data path 3. The vector operation controller 2 receivesthe control signal SC, and controls the vector operation data path 3 onthe basis of the control signal SC.

The vector operation data path 3 sequentially receives, under thecontrol of the vector operation controller 2, operation data X andoperation data Y respectively obtained from X-BUS 16 and Y-BUS 17 astime series data, calculates the data cumulative value on the basis ofthe operation data X and operation data Y, and outputs the cumulativeresult (including the data shifting the cumulative result) to a globalbus 21.

A scalar calculator 4 is composed of ALU 15 and register file 22, andstores the cumulative result through the global bus 21. The ALU 15compares the magnitude of two cumulative results stored in the registerfile 22 on the basis of the control signal SC, and outputs the result ofjudgement to the register file 22.

In this way, the vector calculator 1 for processing cumulativecalculation determines the cumulative result of data on the basis of theoperation data X and operation data Y, and parallel thereto, the scalarcalculator 4 which processes by judging can judge the cumulative result.

FIG. 2 is a block diagram showing the internal structure of the vectoroperation data path 3. As shown in the diagram, the vector operationdata path 3 includes a cumulative data selection unit 5 and a cumulativecalculator 6.

The cumulative data selection unit 5 is composed of registers 51, 52,differential unit 53, and selector 54. The register 51 stores theoperation data X(1) to X(n) obtained from the X-BUS 16 in the sequenceof 1 to n (n≧2), and the register 52 stores the operation data Y(1) toY(n) obtained from the Y-BUS 17 in the sequence of 1 to n.

The differential unit 53 sends the operation differential data{X(i)-Y(i)} (i=any one of 1 to n) of the operation data X(i) andoperation data Y(i) of the registers 51 and 52 to the selector 54. Theselector 54, under the control of the vector operation controller 2,sends either one of the operation data X(i) and the operationdifferential data {X(i)-Y(i)} to the cumulative calculator 6 ascumulative data Z(i).

Thus, the cumulative data selection unit 5 sequentially sends thecumulative data Z(1) to Z(n) which are time series data on the basis ofthe operation data X and operation data Y to the cumulative calculator6.

A register 61 of the cumulative calculator 6 sequentially stores thecumulative data Z(i) at a first time unit, and transfers the stored datato the next register 62 at a second time unit. At the second time unit,the register 62 stores the data previously in the register 61 at thefirst time unit, and transfers the stored data to next register 63 at athird time unit. At the third time unit, the register 63 stores thestored data previously in the register 62 at the second time unit.

The registers 63 to 61 are thus connected in series, and by transferringthe stored data to the next register in every specified time unit, threecumulative data Z(i) to Z(i+2) continuous in time series can be storedsimultaneously.

A first differential unit 64 determines a difference of the cumulativedata Z(i) and cumulative data Z(i+1), and sends first differential data{Z(i)-Z(i+1)} to a selector 66. A second differential unit 65 determinesa difference of the cumulative data Z(i) and cumulative data Z(i+2), andsends second differential data {Z(i)-Z(i+2)} to the selector 66.

The selector 66, under the control of the vector operation controller 2,outputs selected data S(i) by selecting one of the differential data{Z(i)-Z(i+1)}, differential data {Z(i)-Z(i+2)}, and cumulative dataZ(i).

An absolute value circuit 67, under the control of the vector operationcontroller 2, sends the selected data S(i) itself, or an absolute value.linevert split.S(i).linevert split. of the selected data S(i) to asquare circuit 68 as absolute data AB(i).

The square circuit 68, under the control of the vector operationcontroller 2, sends either the absolute value data AB(i) itself or thesquare {AB(i)}}² of the absolute data AB(i) to an accumulator 69 assquare data SQ(i).

The accumulator 69, sequentially receiving the square data SQ(1) toSQ(n), determines the cumulative value of the square data SQ(1) toSQ(n), and outputs to a shifter 70.

The shifter 70, under the control of the vector operation controller 2,outputs the cumulative value itself, or the data by shifting thecumulative value by specified bits to a register 71 as cumulativeresult. The register 71 outputs the cumulative result to the global bus21. For example, in the case of n=255, when the shifter 70 shifts thecumulative value by 8 bits to the right, an average is obtained.

By thus structuring the vector operation controller 2, one of operationdata X(i) and operation differential data {X(i)-Y(i)} is properlyselected as cumulative data Z(i), and one of cumulative data Z(i),differential data {Z(i)-Z(i+1)} and differential data {Z(i)-Z(i+2)} isproperly selected as selected data S(i), and execution or non-executionof an absolute value calculation and a square calculation on selecteddata S(i) is properly selected, and the square data SQ(i) is obtained,so that the cumulative values that can be calculated by the accumulator69 are varied, consisting of 18 types as shown below.

    ΣX(i)                                                (1)

    ΣX(i).sup.2                                          (2)

    Σ|X(i)|                            (3)

    Σ(X(i)-Y(i))                                         (4)

    Σ(X(i)-Y(i)).sup.2                                   (5)

    Σ|X(i)-Y(i)|                       (6)

    Σ(X(i)-X(i+1))                                       (7)

    Σ(X(i)-X(i+2))                                       (8)

    Σ(X(i)-X(i+1)).sup.2                                 (9)

    Σ(X(i)-X(i+2)).sup.2                                 (10)

    Σ|X(i)-X(i+1)|                     (11)

    Σ|X(i)-X(i+2)|                     (12)

    Σ{(X(i)-Y(i))-(X(i+1)-Y(i+1))}                       (13)

    Σ{(X(i)-Y(i))-(X(i+2)-Y(i+2))}                       (14)

    Σ{(X(i)-Y(i))-(X(i+1)-Y(i+1))}.sup.2                 (15)

    Σ{(X(i)-Y(i))-(X(i+2)-Y(i+2))}.sup.2                 (16)

    Σ|{(X(i)-Y(i))-(X(i+1)-Y(i+1))}|   (17)

    Σ|{(X(i)-Y(i))-(X(i+2)-Y(i+2))}|   (18)

In particular, as cumulative values shown in formulas (7) to (18),cumulative values of data on the basis of the differential data{Z(i)-Z(i+1)} or {Z(i)-Z(i+2)} at least in a pair of cumulative data outof three cumulative data Z(i) to Z(i+2) continuous in time series can beautomatically obtained in the vector operation controller 2.

Besides, since the scalar calculator 4 for judgement processing isprovided independently of the vector operation controller 2, thecumulative operation processing for determining the cumulative resultand the judgement processing on the cumulative result can be effectedparallel.

As a result, it is efficient to calculate the cumulative result ofplural differential data composed of differential value of at least apair of cumulative data of three cumulative data continuous in timeseries, and judge the cumulative result.

Moreover, the cumulative data selection unit 5 can issue the operationdifferential data {X(i)-Y(i)} as cumulative data Z(i), and therefore, asthe cumulative values shown in formulas (13) to (18), it is efficient tocalculate the cumulative result of the data relating to pluraldifferential data composed of differential value of at least a pair ofoperation differential data of three operation differential data{X(i)-Y(i)} to {X(i+2)-Y(i+2)} continuous in time series.

<Second preferred embodiment>

FIG. 3 is a block diagram showing a structure of a data processingapparatus (RISC) of a second preferred embodiment of the invention. Asshown in the diagram, the vector calculator 1 is composed of vectoroperation controller 2, vector operation data path 3A, and vectoroperation data path 3B. The vector operation controller 2 receives acontrol signal SC, and controls the vector operation data path 3 on thebasis of the control signal SC.

The vector operation data path 3A, under the control of the vectoroperation controller 2, sequentially receives operation data X andoperation data Y obtained from X-BUS 16 and Y-BUS 17 as time seriesdata, calculates the cumulative value of data on the basis of operationdata X and operation data Y, and sends a first cumulative result(potentially including shifted data) to the global bus 21.

The vector operation data path 3B is provided parallel to the vectoroperation data path 3A, and sequentially receives the operation data Xand operation data Y obtained from X-BUS 16 and Y-BUS 17 as time seriesdata, under the control of the vector operation controller 2, same asthe vector operation data path 3A, calculates the cumulative value ofdata on the basis of the operation data X and operation data Y, andoutputs a second cumulative result to the global bus 21.

The scalar calculator 4 is composed of ALU 15 and register file 22, andstores the first and second cumulative results through the global bus21. The ALU 15 compares the magnitude of the two cumulative resultsstored in the register file 22 on the basis of the control signal SC,and outputs the result of judgement to the register file 22.

The other structure is the same as in the first preferred embodiment,and the description is omitted. Besides, the internal structure of thevector operation data path 3A and vector operation data path 3B is sameas the internal structure of the vector operation data path 3 in thefirst preferred embodiment shown in FIG. 2.

By being structured this way, the vector calculator 1 for cumulativecalculation processing determines parallel the first and secondcumulative results of the data on the basis of the operation data X andoperation data Y, and the scalar calculator 4 for judgement processingcan judge the cumulative result, parallel to the operation of the firstand second cumulative results.

In this way, the data processing apparatus of the second preferredembodiment is capable of determining in parallel the first and secondcumulative results, and hence, in addition to the effects in the firstpreferred embodiment, it is possible to calculate at high speed the twokinds of cumulative results obtained from the data on the basis of thedifferential results of two cumulative data out of three cumulative datacontinuous in time series.

<Third preferred embodiment>

FIG. 4 is a block diagram showing an internal structure of vectoroperation data path 3 of a data processing apparatus in a thirdpreferred embodiment of the invention. As shown in the diagram, twocumulative calculators 6A and 6B are provided for one cumulative dataselection unit 5, and the cumulative calculator 6A and cumulativecalculator 6B are mutually in a parallel relation. The general structureof the third preferred embodiment is same as that of the first preferredembodiment shown in FIG. 1.

The cumulative data selection unit 5 sequentially outputs cumulativedata Z(1) to Z(n) which are time series data on the basis of theoperation data X and operation data Y, sequentially to the cumulativecalculator 6A and cumulative calculator 6B.

The cumulative calculator 6A, under the control of the vector operationcontroller 2, outputs to the global bus 21 the first cumulative resultof the data on the basis of cumulative data Z(1) to Z(n). The cumulativecalculator 6B, under the control of the vector operation controller 2,outputs to the global bus 21 the second cumulative result of the data onthe basis of cumulative data Z(1) to Z(n).

By being structured this way, the vector calculator 1 for cumulativecalculation processing determines parallel the first and secondcumulative results of data on the basis of the operation data X andoperation data Y, and the scalar calculator 4 for judgement processingcan judge the cumulative result, parallel to generation of first andsecond cumulative results.

Therefore, in the data processing apparatus in the third preferredembodiment, as in the second preferred embodiment, the first and secondcumulative results are obtained in parallel, and hence, in addition tothe effects in the first preferred embodiment, it is possible tocalculate at high speed the two kinds of cumulative results obtainedfrom the data on the basis of the differential results of two cumulativedata out of three cumulative data continuous in time series.

Moreover, when compared with the data processing apparatus in the secondpreferred embodiment, the data processing apparatus in the thirdpreferred embodiment requires only one cumulative data selection unit 5,so that the circuit scale may be smaller.

However, since the cumulative data Z(1) to Z(n) are common between thecumulative calculator 6A and cumulative calculator 6B, the types ofcumulative results that can be calculated at the same time aredecreased. For example, in the case of cumulative data Z(i)=X(i)-Y(i),the cumulative results that can be calculated parallel in the cumulativecalculator 6A and cumulative calculator 6B are limited to formulas (4)to (6), and formulas (12) to (18).

<Fourth preferred embodiment>

FIG. 5 is a block diagram showing the internal structure of vectoroperation data path 3A and vector operation data path 3B of a dataprocessing apparatus in a fourth preferred embodiment of the invention.As shown in the diagram, in the vector operation data path 3A, twocumulative calculators 6A and 6B are provided for cumulative dataselection unit 5A, and in the vector operation data path 3B, twocumulative calculators 6C and 6D are provided for cumulative dataselection unit 5B. The cumulative calculators 6A and 6B are mutually ina parallel relation, and the cumulative calculators 6C and 6D aremutually in a parallel relation. The entire structure of the fourthpreferred embodiment is same as that of the first preferred embodimentshown in FIG. 1.

The cumulative data selection unit 5A outputs the first cumulative data,which is the time series data on the basis of the operation data X andoperation data Y, commonly to the cumulative calculator 6A andcumulative calculator 6B, and cumulative data selection unit 5B outputsthe second cumulative data, which is the time series data on the basisof the operation data X and operation data Y, commonly to the cumulativecalculator 6C and cumulative calculator 6D.

The cumulative calculator 6A, under the control of the vector operationcontroller 2, outputs the first cumulative result of the data on thebasis of the first cumulative data to the global bus 21. The cumulativecalculator 6B, under the control of the vector operation controller 2,outputs the second cumulative result of the data on the basis of thefirst cumulative data to the global bus 21. The cumulative calculator6C, under the control of the vector operation controller 2, outputs thethird cumulative result of the data on the basis of the secondcumulative data to the global bus 21. The cumulative calculator 6D,under the control of the vector operation controller 2, outputs thefourth cumulative result of the data on the basis of the secondcumulative data to the global bus 21.

In this structure, the vector calculator 1 for cumulative calculationprocessing determines in parallel the first to fourth cumulative resultsof the data on the basis of the first and second cumulative dataobtained from the operation data X and operation data Y, and the scalarcalculator 4 judges the cumulative results in parallel to the generationof the first to fourth cumulative results.

Thus, since the data processing apparatus of the fourth preferredembodiment can determine the first to fourth cumulative results inparallel, in addition to the effects of the first preferred embodiment,it is possible to calculate at high speed the two kinds of cumulativeresults obtained from the data on the basis of the differential resultsof two cumulative data out of three cumulative data continuous in timeseries.

Moreover, in the data processing apparatus of the fourth preferredembodiment, four kinds of cumulative results can be obtained in thestructure of a relatively small circuit scale comprising only twocumulative data selection units 2.

In the fourth preferred embodiment, there are two cumulative dataselection units 5, and two cumulative calculators 6 provided for onecumulative data selection unit 5, but, of course, the number of piecesis arbitrary individually.

<Fifth preferred embodiment>

FIG. 6 is a block diagram showing the structure of a vector operationdata path of a data processing apparatus (RISC) in a fifth preferredembodiment of the invention. As shown in the diagram, four vectoroperation data paths 3A, 3B, 3C, 3D are provided. The entire structureof the data processing apparatus is similar to the structure of the dataprocessing apparatus in the first preferred embodiment shown in FIG. 1,except for vector operation data paths 3A to 3D.

The vector operation data path 3A includes cumulative data selectionunit 5A and cumulative data selection unit 6A, and, under the control ofthe vector operation controller 2, calculates the data cumulative valueon the basis of the operation data X and operation data Y, and outputs afirst cumulative result to the global bus 21.

The vector operation data path 3B includes cumulative data selectionunit 5B and cumulative data selection unit 6B, and, under the control ofthe vector operation controller 2, calculates the data cumulative valueon the basis of the operation data X and operation data Y, and outputs asecond cumulative result to the global bus 21.

The vector operation data path 3C includes cumulative data selectionunit 5C and cumulative data selection unit 6C, and, under the control ofthe vector operation controller 2, calculates the data cumulative valueon the basis of the operation data X and operation data Y, and outputs athird cumulative result to the global bus 21.

The vector operation data path 3D includes cumulative data selectionunit 5D and cumulative data selection unit 6D, and, under the control ofthe vector operation controller 2, calculates the data cumulative valueon the basis of the operation data X and operation data Y, and outputs afourth cumulative result to the global bus 21.

The scalar calculator 4 stores the first to fourth cumulative resultsthrough the global path 21. The ALU 15, on the basis of the controlsignal SC, compares the magnitude of the two cumulative results (firstto fourth cumulative results) stored in the register file 22, andoutputs the result of judgement to the register file.

In this structure, the vector calculator 1 for cumulative calculationprocessing determines parallel the first to fourth cumulative results ofthe data on the basis of the operation data X and operation data Y, andthe scalar calculator 4 for judgement processing judges the cumulativeresult in parallel to the operation of the first to fourth cumulativeresults.

Thus, since the data processing apparatus of the fifth preferredembodiment can determine the first to fourth cumulative results inparallel, in addition to the effects of the first preferred embodiment,it is possible to calculate at high speed the two kinds of cumulativeresults obtained from the data on the basis of the differential resultsof two cumulative data out of three cumulative data continuous in timeseries.

While the invention has been shown and described in detail, theforegoing description is in all aspects illustrative and notrestrictive. It is therefore understood that numerous modifications andvariations can be devised without departing from the scope of theinvention.

We claim:
 1. A data processing apparatus comprising:a cumulativeprocessing section including a cumulative calculator for sequentiallyreceiving plural cumulative data as time series data, and obtaining acumulative result by operation processing and cumulative processing ofsaid plural cumulative data, and a judgment processing section providedindependently of said cumulative processing section for judging saidcumulative result, wherein said cumulative calculator comprises:differential means for outputting plural differential data in each paircomposed of differential values between at least one pair of cumulativedata of three cumulative data continuous in time series in said pluralcumulative data, and cumulative result calculating means for obtainingsaid cumulative result by cumulative calculation on data based on one ofsaid plural cumulative data and said plural differential data.
 2. A dataprocessing apparatus of claim 1, whereinsaid plural cumulative data arecomposed of cumulative data Z(1) to Z(n) continuous from 1 to n(n≧3),said differential value includes a first differential value{Z(i)-Z(i+1)} of a pair of cumulative data Z(i)(i=1 to (n-2)) andcumulative data Z(i+1), and a second differential value {Z(i)-Z(i+2)} ofa pair of cumulative data Z(i) and cumulative data Z(i+2), saiddifferential means comprises:first to third registers connected mutuallyin series for storing cumulative data Z(i+2) to Z(i) continuous in timeseries, a first differential unit for calculating a difference of a pairof cumulative data Z(i) and cumulative data Z(i+1) to determine thefirst differential value {Z(i)-Z(i+1)} sequentially, and outputtingplural first differential data, and a second differential unit forcalculating a difference of a pair of cumulative data Z(i) andcumulative data Z(i+2) to determine the second differential value{Z(i)-Z(i+2)} sequentially, and outputting plural second differentialdata, and said cumulative result calculating means comprises: a selectorfor selecting as plural selected data, one of: 1) said cumulative data,2) said plural first differential data, and 3) said plural seconddifferential data, and selected data cumulative means for receiving saidplural selected data, for calculating a cumulative value of datarelating to said plural selected data, and for outputting saidcumulative result based on said cumulative value.
 3. A data processingapparatus of claim 2, wherein said data relating to plural selected dataare said plural selected data themselves.
 4. A data processing apparatusof claim 2, wherein said data relating to plural selected data are datacomposed of absolute values of said plural selected data.
 5. A dataprocessing apparatus of claim 2, wherein said data relating to pluralselected data are data composed of squares of said plural selected data.6. A data processing apparatus of claim 2, wherein said cumulativeresult is said cumulative value itself.
 7. A data processing apparatusof claim 2, wherein said selected data cumulative means furthercomprises:a shifter for outputting a value obtained by specified bitshifting of said cumulative value as said cumulative result.
 8. A dataprocessing apparatus of claim 2, wherein said cumulative processingsection further comprises:a cumulative data output unit for sequentiallyreceiving plural first operation data and plural second operation dataas time series data, and selecting one set of data, as said pluralcumulative data, out of at least one of 1) said plural first operationdata and 2) said plural second operation data, and 3) plural sets ofoperation differential data obtained by calculating a difference of saidplural first operation data and said plural second operation data, andfor outputting said plural cumulative data to said cumulativecalculator.
 9. A data processing apparatus of claim 8, wherein saidcumulative data output section comprises:a differential unit forcalculating the difference of said plural first operation data and saidplural second operation data, and outputting said plural operationdifferential data, and a selector for selecting one set of data out ofsaid plural first operation data and said plural operation differentialdata as said plural cumulative data.
 10. A data processing apparatus ofclaim 8, wherein said cumulative calculator includes plural cumulativecalculators for commonly receiving said plural cumulative data.
 11. Adata processing apparatus of claim 1, wherein said cumulative processingsection includes plural cumulative processing sections.
 12. A dataprocessing apparatus of claim 2, wherein said cumulative result equalssaid cumulative value.
 13. A data processing apparatus of claim 2,wherein said selected data cumulative means further comprises:a squaringdevice for generating said cumulative result by squaring said cumulativevalue.
 14. A data processing apparatus of claim 2, wherein said selecteddata cumulative means further comprises an absolute value device forgenerating said cumulative result from an absolute value of saidcumulative value.
 15. A data processing apparatus of claim 14, whereinsaid cumulative data output section comprises:a differential unit forcalculating the difference of said plural first operation data and saidplural second operation data, and outputting said plural operationdifferential data, and a selector for selecting one set of data out ofsaid plural first operation data and said plural operation differentialdata as said plural cumulative data.
 16. A data processing apparatus ofclaim 14, wherein said cumulative calculator includes plural cumulativecalculators for commonly receiving said plural cumulative data.
 17. Adata processing apparatus comprising:a bus; a register file connected tothe bus; a cumulative processing section including a cumulativecalculator for sequentially receiving plural cumulative data as timeseries data, for obtaining a cumulative result by operation processingand cumulative processing of said plural cumulative data, and foroutputting the cumulative result to the register file via the bus; and ajudgment processing section provided independently of said cumulativeprocessing section for judging said cumulative result by reading fromthe register file, wherein said cumulative calculatorcomprises:differential means for outputting plural differential data ineach pair composed of differential values between at least one pair ofcumulative data of three cumulative data continuous in time series insaid plural cumulative data, and cumulative result calculating means forobtaining said cumulative result by cumulative calculation on data basedon one of said plural cumulative data and said plural differential data.18. A data processing apparatus of claim 17, whereinsaid pluralcumulative data are composed of cumulative data Z(1) to Z(n) continuousfrom 1 to n (n≧3), said differential value includes a first differentialvalue {Z(i)-Z(i+1)} of a pair of cumulative data Z(i)(i=1 to (n-2)) andcumulative data Z(i+1), and a second differential value {Z(i)-Z(i+2)} ofa pair of cumulative data Z(i) and cumulative data Z(i+2), saiddifferential means comprises:first to third registers connected mutuallyin series for storing cumulative data Z(i+2) to Z(i) continuous in timeseries, a first differential unit for calculating a difference of a pairof cumulative data Z(i) and cumulative data Z(i+1) to determine thefirst differential value {Z(i)-Z(i+1)} sequentially, and outputtingplural first differential data, and a second differential unit forcalculating a difference of a pair of cumulative data Z(i) andcumulative data Z(i+2) to determine the second differential value{Z(i)-Z(i+2)} sequentially, and outputting plural second differentialdata, and said cumulative result calculating means comprises:a selectorfor selecting as plural selected data, one of: 1) said cumulative data,2) said plural first differential data, and 3) said plural seconddifferential data, and selected data cumulative means for receiving saidplural selected data, for calculating a cumulative value of datarelating to said plural selected data, and for outputting saidcumulative result based on said cumulative value.
 19. A data processingapparatus of claim 18, wherein said cumulative processing sectionfurther comprises:a cumulative data output unit for sequentiallyreceiving plural first operation data and plural second operation dataas time series data, and selecting one set of data, as said pluralcumulative data, out of at least one of 1) said plural first operationdata, and 2) said plural second operation data, and 3) plural sets ofoperation differential data obtained by calculating a difference of saidplural first operation data and said plural second operation data, andfor outputting said plural cumulative data to said cumulativecalculator.
 20. A data processing apparatus of claims 17, wherein saidcumulative processing section includes plural cumulative processingsections.